Commit 90c9345e by 无尘

fix: 修复编辑员工信息显示 bug

parent aa6a7b9f
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
* 修改员工信息提示 ([acb832d](http://115.159.76.241/office/office-web/commits/acb832d)) * 修改员工信息提示 ([acb832d](http://115.159.76.241/office/office-web/commits/acb832d))
* 修改档案设置 ([7e4f100](http://115.159.76.241/office/office-web/commits/7e4f100)) * 修改档案设置 ([7e4f100](http://115.159.76.241/office/office-web/commits/7e4f100))
* 修改编辑员工信息 bug ([ccb26ec](http://115.159.76.241/office/office-web/commits/ccb26ec)) * 修改编辑员工信息 bug ([ccb26ec](http://115.159.76.241/office/office-web/commits/ccb26ec))
* 修改编辑员工信息校验方法 ([aa6a7b9](http://115.159.76.241/office/office-web/commits/aa6a7b9))
* 修改编辑员工提示信息 ([126417d](http://115.159.76.241/office/office-web/commits/126417d)) * 修改编辑员工提示信息 ([126417d](http://115.159.76.241/office/office-web/commits/126417d))
* 修改门店图片上传 ([4b813c9](http://115.159.76.241/office/office-web/commits/4b813c9)) * 修改门店图片上传 ([4b813c9](http://115.159.76.241/office/office-web/commits/4b813c9))
* 修改门店图片上传插件方法 ([8eff208](http://115.159.76.241/office/office-web/commits/8eff208)) * 修改门店图片上传插件方法 ([8eff208](http://115.159.76.241/office/office-web/commits/8eff208))
......
<!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>好办管理平台</title><link href=./static/css/app.6dab2c8563c2d04983172d0777ed7981.css rel=stylesheet></head><body style="min-width: 1400px;"><div id=app></div><script type=text/javascript src=./static/js/manifest.526994ba85e727b14cb2.js></script><script type=text/javascript src=./static/js/vendor.fe6bbed1214c1931680c.js></script><script type=text/javascript src=./static/js/app.77362d705af60a68bceb.js></script></body></html> <!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>好办管理平台</title><link href=./static/css/app.6dab2c8563c2d04983172d0777ed7981.css rel=stylesheet></head><body style="min-width: 1400px;"><div id=app></div><script type=text/javascript src=./static/js/manifest.a49b90e9aaa681705e4b.js></script><script type=text/javascript src=./static/js/vendor.fe6bbed1214c1931680c.js></script><script type=text/javascript src=./static/js/app.77362d705af60a68bceb.js></script></body></html>
\ No newline at end of file \ No newline at end of file
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(f,r,t){for(var d,b,o,i=0,u=[];i<f.length;i++)b=f[i],a[b]&&u.push(a[b][0]),a[b]=0;for(d in r)Object.prototype.hasOwnProperty.call(r,d)&&(e[d]=r[d]);for(c&&c(f,r,t);u.length;)u.shift()();if(t)for(i=0;i<t.length;i++)o=n(n.s=t[i]);return o};var f={},a={44:0};function n(c){if(f[c])return f[c].exports;var a=f[c]={i:c,l:!1,exports:{}};return e[c].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.e=function(e){var c=a[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var f=new Promise(function(f,n){c=a[e]=[f,n]});c[2]=f;var r=document.getElementsByTagName("head")[0],t=document.createElement("script");t.type="text/javascript",t.charset="utf-8",t.async=!0,t.timeout=12e4,n.nc&&t.setAttribute("nonce",n.nc),t.src=n.p+"static/js/"+e+"."+{0:"eb0a4246ba12b2f19e2a",1:"0ebe3ead93207dc78a78",2:"a3034ac019ab3b076959",3:"7f87f1f60c09bb6ad371",4:"7dd9b3bb0689b9db1cf3",5:"3417bcae84d670c66db1",6:"fbd06ea78358b8144d70",7:"fb9879c0177f64d093fb",8:"1a34bcb6afc2f082ef3a",9:"325d932bbdd43400378c",10:"da9ae5a520b0e3adaa53",11:"e520fec57c7e2a952a8e",12:"c25271c62951b988f342",13:"60a490fd5d0e6fe747e1",14:"74cc9b3a9d7e1bbdf26c",15:"b13b0c9736e097a6fc38",16:"595627f80b382a73a092",17:"fc675433297f48540fa4",18:"0ddca03b14efa60e12ca",19:"5094b323ee4cf1f50bf5",20:"81f6c674a6461ef85896",21:"68212dc5cb8b4a50f4fc",22:"e803b89b6f90efd65a43",23:"5ed1b5fd3abff19ce342",24:"8018e4156e92e8875b3f",25:"31f913b9e9e07552cc40",26:"b1c31f6d9d345d8c509f",27:"e85ffa7929197dc4609a",28:"c75ca2dc62974c43903c",29:"25c23e727c71fda1821b",30:"5546948c939232668fc6",31:"16358ad3a9085c551664",32:"20338d6b658d38bf70dc",33:"375e96e88f2f82b30e3c",34:"57d4132e0ff6a5a8ac00",35:"aed8a28b82487ff5f295",36:"158063a49dabc462fe14",37:"f30f4e653b1f9e708aaa",38:"ac5ef7410309c861198f",39:"3e612f993ddd107c14dd",40:"f965564e0c6bf413d47f",43:"13848f214bb993c20004"}[e]+".js";var d=setTimeout(b,12e4);function b(){t.onerror=t.onload=null,clearTimeout(d);var c=a[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),a[e]=void 0)}return t.onerror=t.onload=b,r.appendChild(t),f},n.m=e,n.c=f,n.d=function(e,c,f){n.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:f})},n.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(c,"a",c),c},n.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},n.p="./",n.oe=function(e){throw console.error(e),e}}([]); !function(e){var c=window.webpackJsonp;window.webpackJsonp=function(f,r,t){for(var b,o,d,i=0,u=[];i<f.length;i++)o=f[i],a[o]&&u.push(a[o][0]),a[o]=0;for(b in r)Object.prototype.hasOwnProperty.call(r,b)&&(e[b]=r[b]);for(c&&c(f,r,t);u.length;)u.shift()();if(t)for(i=0;i<t.length;i++)d=n(n.s=t[i]);return d};var f={},a={44:0};function n(c){if(f[c])return f[c].exports;var a=f[c]={i:c,l:!1,exports:{}};return e[c].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.e=function(e){var c=a[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var f=new Promise(function(f,n){c=a[e]=[f,n]});c[2]=f;var r=document.getElementsByTagName("head")[0],t=document.createElement("script");t.type="text/javascript",t.charset="utf-8",t.async=!0,t.timeout=12e4,n.nc&&t.setAttribute("nonce",n.nc),t.src=n.p+"static/js/"+e+"."+{0:"eb0a4246ba12b2f19e2a",1:"0ebe3ead93207dc78a78",2:"a3034ac019ab3b076959",3:"7f87f1f60c09bb6ad371",4:"7dd9b3bb0689b9db1cf3",5:"3417bcae84d670c66db1",6:"fbd06ea78358b8144d70",7:"fb9879c0177f64d093fb",8:"1a34bcb6afc2f082ef3a",9:"325d932bbdd43400378c",10:"5f89a660296729aaab90",11:"e520fec57c7e2a952a8e",12:"c25271c62951b988f342",13:"60a490fd5d0e6fe747e1",14:"74cc9b3a9d7e1bbdf26c",15:"b13b0c9736e097a6fc38",16:"595627f80b382a73a092",17:"fc675433297f48540fa4",18:"0ddca03b14efa60e12ca",19:"5094b323ee4cf1f50bf5",20:"81f6c674a6461ef85896",21:"68212dc5cb8b4a50f4fc",22:"e803b89b6f90efd65a43",23:"5ed1b5fd3abff19ce342",24:"8018e4156e92e8875b3f",25:"31f913b9e9e07552cc40",26:"b1c31f6d9d345d8c509f",27:"e85ffa7929197dc4609a",28:"c75ca2dc62974c43903c",29:"25c23e727c71fda1821b",30:"5546948c939232668fc6",31:"16358ad3a9085c551664",32:"20338d6b658d38bf70dc",33:"375e96e88f2f82b30e3c",34:"57d4132e0ff6a5a8ac00",35:"aed8a28b82487ff5f295",36:"158063a49dabc462fe14",37:"f30f4e653b1f9e708aaa",38:"ac5ef7410309c861198f",39:"3e612f993ddd107c14dd",40:"f965564e0c6bf413d47f",43:"13848f214bb993c20004"}[e]+".js";var b=setTimeout(o,12e4);function o(){t.onerror=t.onload=null,clearTimeout(b);var c=a[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),a[e]=void 0)}return t.onerror=t.onload=o,r.appendChild(t),f},n.m=e,n.c=f,n.d=function(e,c,f){n.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:f})},n.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(c,"a",c),c},n.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},n.p="./",n.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file \ No newline at end of file
...@@ -5,45 +5,45 @@ ...@@ -5,45 +5,45 @@
<div class="hurdle"></div> <div class="hurdle"></div>
<a class="a-href" @click="showEdit = true">编辑</a> <a class="a-href" @click="showEdit = true">编辑</a>
</div> </div>
<el-form class="info-form" :rules="rules" inline label-width="150px" ref="cell_form" :model="info"> <el-form class="info-form" :rules="rules" inline label-width="150px" ref="cell_form" :model="fieldsInfo">
<template v-for="(item, idx) in fieldList"> <template v-for="(item, idx) in fieldList">
<el-form-item :label="item.title + ':'" class="item-width" :key="item.fieldCode + '_' + idx" :prop="item.fieldCode"> <el-form-item :label="item.title + ':'" class="item-width" :key="item.fieldCode + '_' + idx" :prop="item.fieldCode">
<template v-if="showEdit"> <template v-if="showEdit">
<el-input v-model="info[item.fieldCode]" v-if="item.fieldType == 0" :placeholder="item.fieldDescription" :disabled="item.fieldEdited != '1'"> </el-input> <el-input v-model="fieldsInfo[item.fieldCode]" v-if="item.fieldType == 0" :placeholder="item.fieldDescription" :disabled="item.fieldEdited != '1'"> </el-input>
<el-input v-model="info[item.fieldCode]" v-if="item.fieldType == 6" :placeholder="item.fieldDescription" :disabled="item.fieldEdited != '1'"> </el-input> <el-input v-model="fieldsInfo[item.fieldCode]" v-if="item.fieldType == 6" :placeholder="item.fieldDescription" :disabled="item.fieldEdited != '1'"> </el-input>
<el-input v-model="info[item.fieldCode]" v-else-if="item.fieldType == 1" type="textarea" autosize :disabled="item.fieldEdited != '1'"> </el-input> <el-input v-model="fieldsInfo[item.fieldCode]" v-else-if="item.fieldType == 1" type="textarea" autosize :disabled="item.fieldEdited != '1'"> </el-input>
<template v-else-if="item.fieldType == 2 || item.fieldType == 3"> <template v-else-if="item.fieldType == 2 || item.fieldType == 3">
<el-select v-if="item.systemFlag == 1" v-model="info[item.fieldCode]" :disabled="item.fieldEdited != '1'" :multiple="item.fieldType == 3" :collapse-tags="item.fieldType == 3" :placeholder="item.fieldDescription"> <el-select v-if="item.systemFlag == 1" v-model="fieldsInfo[item.fieldCode]" :disabled="item.fieldEdited != '1'" :multiple="item.fieldType == 3" :collapse-tags="item.fieldType == 3" :placeholder="item.fieldDescription">
<el-option v-for="cho in item.fieldOperations.fieldContent" :key="cho.key" :label="cho.name" :value="cho.key"> </el-option> <el-option v-for="cho in item.fieldOperations.fieldContent" :key="cho.key" :label="cho.name" :value="cho.key"> </el-option>
</el-select> </el-select>
<el-select v-else v-model="info[item.fieldCode]" :disabled="item.fieldEdited != '1'" :multiple="item.fieldType == 3" :collapse-tags="item.fieldType == 3" :placeholder="item.fieldDescription"> <el-select v-else v-model="fieldsInfo[item.fieldCode]" :disabled="item.fieldEdited != '1'" :multiple="item.fieldType == 3" :collapse-tags="item.fieldType == 3" :placeholder="item.fieldDescription">
<el-option v-for="(cho, index) in item.fieldOperations.fieldContent" :key="cho.key + '_' + index" :label="cho.name" :value="cho.name"> </el-option> <el-option v-for="(cho, index) in item.fieldOperations.fieldContent" :key="cho.key + '_' + index" :label="cho.name" :value="cho.name"> </el-option>
</el-select> </el-select>
</template> </template>
<el-date-picker v-else-if="item.fieldType == 4" v-model="info[item.fieldCode]" type="date" :disabled="item.fieldEdited != '1'" :format="item.fieldOperations.typeValue" :value-format="item.fieldOperations.typeValue" :placeholder="item.fieldDescription"> </el-date-picker> <el-date-picker v-else-if="item.fieldType == 4" v-model="fieldsInfo[item.fieldCode]" type="date" :disabled="item.fieldEdited != '1'" :format="item.fieldOperations.typeValue" :value-format="item.fieldOperations.typeValue" :placeholder="item.fieldDescription"> </el-date-picker>
<el-date-picker v-else-if="item.fieldType == 5" v-model="info[item.fieldCode]" type="daterange" range-separator="至" :disabled="item.fieldEdited != '1'" :format="item.fieldOperations.typeValue" :value-format="item.fieldOperations.typeValue" :start-placeholder="item.fieldOperations.startDescription" :end-placeholder="item.fieldOperations.endDescription"> </el-date-picker> <el-date-picker v-else-if="item.fieldType == 5" v-model="fieldsInfo[item.fieldCode]" type="daterange" range-separator="至" :disabled="item.fieldEdited != '1'" :format="item.fieldOperations.typeValue" :value-format="item.fieldOperations.typeValue" :start-placeholder="item.fieldOperations.startDescription" :end-placeholder="item.fieldOperations.endDescription"> </el-date-picker>
<!-- <vue-office-upload-image v-else-if="item.fieldType == 7" projectName="haoban-manage-web" wxFlag="0" :actionUrl="uploadUrl" :imageList="info[item.fieldCode]" :limitW="500" :limitH="500" :maxImageLength="5" @uploadOnSuccess="uploadOnSuccess" @sortImg="sortImg" @deleteImage="deleteImage"> </vue-office-upload-image> --> <!-- <vue-office-upload-image v-else-if="item.fieldType == 7" projectName="haoban-manage-web" wxFlag="0" :actionUrl="uploadUrl" :imageList="fieldsInfo[item.fieldCode]" :limitW="500" :limitH="500" :maxImageLength="5" @uploadOnSuccess="uploadOnSuccess" @sortImg="sortImg" @deleteImage="deleteImage"> </vue-office-upload-image> -->
<uploadImage v-else-if="item.fieldType == 7" projectName="haoban-manage-web" wxFlag="0" :actionUrl="uploadUrl" :imageList.sync="info[item.fieldCode]" :limitW="500" :limitH="500" :maxImageLength="5" @uploadOnSuccess="uploadOnSuccess" @sortImg="sortImg" @deleteImage="deleteImage"></uploadImage> <uploadImage v-else-if="item.fieldType == 7" projectName="haoban-manage-web" wxFlag="0" :actionUrl="uploadUrl" :imageList.sync="fieldsInfo[item.fieldCode]" :limitW="500" :limitH="500" :maxImageLength="5" @uploadOnSuccess="uploadOnSuccess" @sortImg="sortImg" @deleteImage="deleteImage"></uploadImage>
</template> </template>
<template v-else> <template v-else>
<div v-if="item.fieldType == 0 || item.fieldType == 1 || item.fieldType == 6" class="field-value color-606266"> <div v-if="item.fieldType == 0 || item.fieldType == 1 || item.fieldType == 6" class="field-value color-606266">
{{ info[item.fieldCode] }} {{ fieldsInfo[item.fieldCode] }}
</div> </div>
<template v-else-if="item.fieldType == 2"> <template v-else-if="item.fieldType == 2">
<div v-if="item.systemFlag == 1" class="field-value color-606266"> <div v-if="item.systemFlag == 1" class="field-value color-606266">
{{ !!item.fieldOperations.fieldContent[info[item.fieldCode] * 1 - 1] ? item.fieldOperations.fieldContent[info[item.fieldCode] * 1 - 1].name : '' }} {{ !!item.fieldOperations.fieldContent[fieldsInfo[item.fieldCode] * 1 - 1] ? item.fieldOperations.fieldContent[fieldsInfo[item.fieldCode] * 1 - 1].name : '' }}
</div> </div>
<div v-else class="field-value color-606266">{{ info[item.fieldCode] }}</div> <div v-else class="field-value color-606266">{{ fieldsInfo[item.fieldCode] }}</div>
</template> </template>
<div v-else-if="item.fieldType == 3" class="field-value color-606266"></div> <div v-else-if="item.fieldType == 3" class="field-value color-606266"></div>
<div v-else-if="item.fieldType == 4" class="field-value color-606266"> <div v-else-if="item.fieldType == 4" class="field-value color-606266">
{{ info[item.fieldCode] | formatDate(item.fieldOperations.typeValue) }} {{ fieldsInfo[item.fieldCode] | formatDate(item.fieldOperations.typeValue) }}
</div> </div>
<div v-else-if="item.fieldType == 5" class="field-value color-606266"> <div v-else-if="item.fieldType == 5" class="field-value color-606266">
{{ info[item.fieldCode].join('至') }} {{ fieldsInfo[item.fieldCode].join('至') }}
</div> </div>
<div v-else-if="item.fieldType == 7" class="img-box"> <div v-else-if="item.fieldType == 7" class="img-box">
<div class="item-imgs" v-for="(img, index) in info[item.fieldCode]" :key="index + img.url"> <div class="item-imgs" v-for="(img, index) in fieldsInfo[item.fieldCode]" :key="index + img.url">
<a href=""><img :src="img.url"/></a> <a href=""><img :src="img.url"/></a>
</div> </div>
</div> </div>
...@@ -95,7 +95,8 @@ export default { ...@@ -95,7 +95,8 @@ export default {
data() { data() {
return { return {
showEdit: false, showEdit: false,
uploadUrl: '/haoban-manage-web/upload-img' uploadUrl: '/haoban-manage-web/upload-img',
fieldsInfo: {}
}; };
}, },
methods: { methods: {
...@@ -119,7 +120,7 @@ export default { ...@@ -119,7 +120,7 @@ export default {
that.$refs.cell_form.validate(valid => { that.$refs.cell_form.validate(valid => {
// 表单验证 // 表单验证
if (valid) { if (valid) {
let newInfo = deepClone(that.info); let newInfo = deepClone(that.fieldsInfo);
let params = {}; let params = {};
let regFlag = []; let regFlag = [];
let fieldList = that.fieldList; let fieldList = that.fieldList;
...@@ -193,7 +194,7 @@ export default { ...@@ -193,7 +194,7 @@ export default {
}, },
cancelEdit() { cancelEdit() {
this.$refs.cell_form.clearValidate(); // 清楚表单验证 this.$refs.cell_form.clearValidate(); // 清楚表单验证
let nowObj = this.info; let nowObj = this.fieldsInfo;
let oldObj = this.staticInfo; let oldObj = this.staticInfo;
for (let key in nowObj) { for (let key in nowObj) {
nowObj[key] = oldObj[key]; nowObj[key] = oldObj[key];
...@@ -254,6 +255,14 @@ export default { ...@@ -254,6 +255,14 @@ export default {
}); });
return obj; return obj;
} }
},
beforeMount() {
let that = this;
let middleData = JSON.parse(JSON.stringify(that.info));
for (let item in middleData) {
middleData[item] = middleData[item] == null? '': typeof(middleData[item]) === 'object'? middleData[item] : String(middleData[item]);
}
that.fieldsInfo = middleData;
} }
}; };
</script> </script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment