Browse Source

2024-1-5 项目调整

master
zelian_wu 2 years ago
parent
commit
1186afe183
  1. 41
      src/views/modules/customer/customerInformationManagement.vue
  2. 142
      src/views/modules/project/projectInfo/com_projectInfo-add-or-update.vue
  3. 21
      src/views/modules/project/projectInfo/projectInfo.vue
  4. 6
      src/views/modules/sys/dict-data.vue
  5. 2
      src/views/modules/sys/dict.vue

41
src/views/modules/customer/customerInformationManagement.vue

@ -517,6 +517,14 @@
:selectable="selectFlag"
width="50">
</el-table-column>
<el-table-column
header-align="center"
align="center" prop="projectId"
width="130" label="项目号">
<template slot-scope="{row,$index}">
<el-link style="cursor: pointer" @click="clickProjectId(row.projectId)">{{row.projectId}}</el-link>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in projectInformationArray" :key="index"
:sortable="item.columnSortable"
@ -1439,24 +1447,6 @@
}
],
projectInformationArray: [
{
userId: this.$store.state.user.name,
functionId: 101001,
serialNumber: '101001Table4ProjectId',
tableId: '101001Table4',
tableName: '客户项目信息表',
columnProp: 'projectId',
headerAlign: 'center',
align: 'center',
columnLabel: '项目号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 101001,
@ -2829,9 +2819,11 @@
* 单机选中客户项目信息
* @param row
*/
projectInformationClickRow (row) {
this.$refs.projectInformationTable.toggleRowSelection(row);
this.projectInformationCurrentRow = JSON.parse(JSON.stringify(row));
projectInformationClickRow (row,column) {
if (column.label !== '项目号'){
this.$refs.projectInformationTable.toggleRowSelection(row);
this.projectInformationCurrentRow = JSON.parse(JSON.stringify(row));
}
},
// ======== ========
@ -3100,6 +3092,13 @@
json += '}'
let s = eval('(' + json + ')')
return s
},
clickProjectId(projectId){
if (this.$router.resolve('project-projectInfo/projectInfo').resolved.name === '404'){
this.$alert('权限不足,访问失败', '警告', {confirmButtonText: '确定',});
}else {
this.$router.push({name:"project-projectInfo/projectInfo",params:{projectId:projectId},})
}
}
}
}

142
src/views/modules/project/projectInfo/com_projectInfo-add-or-update.vue

@ -1,71 +1,86 @@
<template>
<div class="mod-config">
<el-dialog
width="600px"
:title="value === 0 ? '新增-项目' :value === 1?'修改-项目':'新增-子项目'"
width="40%"
:title="value === 'save' ? '新增-项目' :value === 'update'?'修改-项目':'新增-子项目'"
:close-on-click-modal="false"
:visible.sync="visible"
@close="closeSaveDialog">
<el-form :inline="true" ref="saveForm" :model="dataForm" label-position="top" label-width="100px" :rules="projectRole">
<el-form-item label="项目层级" prop="projectLevel">
<el-select v-model="dataForm.projectLevel" style="width: 130px">
<el-option label="一级" :value="1"></el-option>
<el-option label="二级" :value="2"></el-option>
<el-option label="三级" :value="3"></el-option>
</el-select>
<el-form ref="saveForm" :model="dataForm" label-position="top" label-width="100px" :rules="projectRole">
<el-row :gutter="25">
<el-col :span="6">
<el-form-item :label="(value !=='save' && value !== 'update')?'上级项目号':'项目号'">
<el-input v-model="dataForm.projectId" disabled ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="buDesc" :rules="projectRole.buDesc">
<span slot="label" style="" @click="getBaseList(106,1)"><a herf="#">BU</a></span>
<el-input v-model="dataForm.buDesc" readonly @focus="getBaseList(106,1)"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目名称" prop="projectName">
<el-input v-model="dataForm.projectName" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="projectTypeDb" label="项目类型">
<dict-data-select dict-type="project_info_type_db" v-if="visible" v-model="dataForm.projectTypeDb"></dict-data-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="projectSource" :rules="projectRole.projectSourceDesc" label="项目来源">
<dict-data-select dict-type="project_info_source" v-if="visible" v-model="dataForm.projectSource"></dict-data-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="customerName">
<span slot="label" style="" @click="getBaseList(102,1)"><a herf="#">所属客户</a></span>
<el-input v-model="dataForm.customerName" readonly @focus="getBaseList(102,1)"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="priority" label="优先级">
<dict-data-select dict-type="project_info_priority" v-if="visible" v-model="dataForm.priority"></dict-data-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="要求日期:" prop="needDate">
<el-date-picker
style="width: 100%"
v-model="dataForm.needDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="projectManagerName" :rules="projectRole.projectManagerName">
<span slot="label" style="" @click="managerChooseModal()"><a herf="#">项目经理</a></span>
<el-input v-model="dataForm.projectManagerName" readonly @focus="managerChooseModal()"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="projectOwnerName" :rules="projectRole.projectOwnerName">
<span slot="label" style="" @click="ownerChooseModal()"><a herf="#">项目负责人</a></span>
<el-input v-model="dataForm.projectOwnerName" readonly @focus="ownerChooseModal()"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="项目描述" style="height: 70px">
<el-input type="textarea" resize="none" :autosize="{minRows: 2, maxRows: 2}" v-model="dataForm.projectDesc" ></el-input>
</el-form-item>
<el-form-item label="项目号">
<el-input v-model="dataForm.projectId" style="width: 130px" disabled ></el-input>
<el-form-item label="客户应用/要求" style="height: 70px">
<el-input type="textarea" resize="none" :autosize="{minRows: 2, maxRows: 2}" v-model="dataForm.customerRemark" ></el-input>
</el-form-item>
<el-form-item prop="projectTypeDb" label="项目类型">
<dict-data-select dict-type="project_info_type_db" v-if="visible" style="width: 130px" v-model="dataForm.projectTypeDb"></dict-data-select>
</el-form-item>
<el-form-item prop="customerName">
<span slot="label" style="" @click="getBaseList(102,1)"><a herf="#">所属客户</a></span>
<el-input v-model="dataForm.customerName" style="width: 130px" readonly @focus="getBaseList(102,1)"></el-input>
</el-form-item>
<el-form-item label="项目名称" prop="projectName">
<el-input v-model="dataForm.projectName" style="width: 562px" ></el-input>
</el-form-item>
<el-form-item label="项目描述" >
<el-input v-model="dataForm.projectDesc" style="width: 562px" ></el-input>
</el-form-item>
<el-form-item prop="buDesc" :rules="projectRole.buDesc">
<span slot="label" style="" @click="getBaseList(106,1)"><a herf="#">BU</a></span>
<el-input v-model="dataForm.buDesc" style="width: 130px" readonly @focus="getBaseList(106,1)"></el-input>
</el-form-item>
<el-form-item prop="projectSource" :rules="projectRole.projectSourceDesc" label="项目来源">
<dict-data-select dict-type="project_info_source" v-if="visible" style="width: 130px" v-model="dataForm.projectSource"></dict-data-select>
</el-form-item>
<el-form-item prop="priority" label="优先级">
<dict-data-select dict-type="project_info_priority" v-if="visible" style="width: 130px" v-model="dataForm.priority"></dict-data-select>
</el-form-item>
<el-form-item label="要求日期:" prop="needDate" :rules="projectRole.needDate">
<el-date-picker
style="width: 130px"
v-model="dataForm.needDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item prop="projectManagerName" :rules="projectRole.projectManagerName">
<span slot="label" style="" @click="managerChooseModal()"><a herf="#">项目经理</a></span>
<el-input v-model="dataForm.projectManagerName" readonly style="width: 274px" @focus="managerChooseModal()"></el-input>
</el-form-item>
<el-form-item prop="projectOwnerName" :rules="projectRole.projectOwnerName">
<span slot="label" style="" @click="ownerChooseModal()"><a herf="#">项目负责人</a></span>
<el-input v-model="dataForm.projectOwnerName" readonly style="width: 274px" @focus="ownerChooseModal()"></el-input>
</el-form-item>
<el-form-item label="客户应用/要求">
<el-input v-model="dataForm.customerRemark" style="width: 562px" ></el-input>
</el-form-item>
<el-form-item label="其他要求">
<el-input v-model="dataForm.remark" style="width: 562px" ></el-input>
<el-form-item label="其他要求" style="height: 70px">
<el-input type="textarea" resize="none" :autosize="{minRows: 2, maxRows: 2}" v-model="dataForm.remark" ></el-input>
</el-form-item>
<el-form-item prop="userRoleName" :rules="projectRole.userRoleName">
<span slot="label" style="" @click="userRollModal()"><a herf="#">项目权限</a></span>
<el-input v-model="dataForm.userRoleName" style="width: 562px" @focus="userRollModal()"></el-input>
<el-input v-model="dataForm.userRoleName" @focus="userRollModal()"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@ -217,7 +232,7 @@
props:{
value:{
required:true,
type:Number,
type:String,
}
},
components: {
@ -732,7 +747,10 @@
},
closeSaveDialog(){
this.$refs.saveForm.resetFields();
}
},
updateDataForm(val){
this.dataForm.projectId = val;
},
},
}
</script>
@ -769,4 +787,10 @@
color: #303133;
font-weight: 400;
}
.el-textarea .el-textarea__inner {
padding: 0px 5px;
height: auto;
}
</style>

21
src/views/modules/project/projectInfo/projectInfo.vue

@ -13,7 +13,7 @@
</el-form-item>
<el-form-item label=" ">
<el-button @click="search()" type="primary" style="margin-left: 2px;margin-top:0px">查询</el-button>
<el-button @click="addOrUpdateHandle(0)" type="primary" style="margin-left: 2px;margin-top: 0px">新增</el-button>
<el-button @click="addOrUpdateHandle('save')" type="primary" style="margin-left: 2px;margin-top: 0px">新增</el-button>
<download-excel
:fields="fields()"
:data="exportData"
@ -46,8 +46,8 @@
fixed="right"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="addOrUpdateHandle(scope.row.projectId)">新增</a>
<a type="text" size="small" @click="UpdateHandle(scope.row)">修改</a>
<a type="text" size="small" @click="addOrUpdateHandle(2,scope.row)">新增</a>
<a type="text" size="small" @click="deleteProjectInfo(scope.row)">删除</a>
</template>
</el-table-column>
@ -389,7 +389,7 @@
data() {
return {
// addOrUpdate
addOrUpdate:0,
addOrUpdate:'0',
//
contactChooseList1:[],
//
@ -1034,11 +1034,14 @@
}
},
// /
addOrUpdateHandle (id,row) {
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.addOrUpdate = id;
this.$nextTick(() => {
this.$refs.addOrUpdate.init()
this.$refs.addOrUpdate.init();
if (id && id !== 'save' && id !== 'update'){
this.$refs.addOrUpdate.updateDataForm(id);
}
})
},
UpdateHandle (row) {
@ -1050,7 +1053,7 @@
getProjectUserRole(inData).then(({data}) => {
if(this.$store.state.user.name=='admin'||data.row.updateFlag=='Y') {
this.addOrUpdateVisible = true
this.addOrUpdate = 1;
this.addOrUpdate = 'update';
this.$nextTick(() => {
this.$refs.addOrUpdate.init(row.id)
})
@ -1532,9 +1535,11 @@
},
},
created() {
activated() {
if (this.$route.params.projectId){
this.searchData.projectId = this.$route.params.projectId
}
this.getTableUserColumn(this.$route.meta.menuId+'table1',1)
},
}
</script>

6
src/views/modules/sys/dict-data.vue

@ -348,9 +348,9 @@ export default {
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="saveDataDialogFlag = false"> </el-button>
<el-button type="primary" @click="saveOrUpdate"> </el-button>
</span>
<el-button type="primary" @click="saveOrUpdate"> </el-button>
<el-button @click="saveDataDialogFlag = false"> </el-button>
</span>
</el-dialog>
</div>
</template>

2
src/views/modules/sys/dict.vue

@ -299,8 +299,8 @@ export default {
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="saveDataDialogFlag = false"> </el-button>
<el-button type="primary" @click="saveOrUpdate"> </el-button>
<el-button @click="saveDataDialogFlag = false"> </el-button>
</span>
</el-dialog>
</div>

Loading…
Cancel
Save