|
@@ -14,7 +14,8 @@
|
|
|
<el-form :model="form" :rules="rules" ref="form" label-width="125px" label-position="right" size="mini">
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="项目名称:" prop="projectname">
|
|
|
- <el-input v-model="form.projectname" placeholder="请输入项目名称"></el-input>
|
|
|
+ <el-input v-model="form.projectname" placeholder="请输入项目名称" @blur="nameChange(param.content.pageNumber = 1)"></el-input>
|
|
|
+ <span style="color: red;font-size: 12px;margin-bottom: -10px" v-if="repeats.length > 0">疑似重复</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
@@ -229,6 +230,44 @@
|
|
|
<el-button size="small" type="primary" @click="onSave" class="normal-btn-width">确 定</el-button>
|
|
|
</div>
|
|
|
</el-drawer>
|
|
|
+ <el-dialog title="重复项目" :visible.sync="dialogTableVisible" append-to-body width="1000px">
|
|
|
+ <div slot="title" class="dialog-title">
|
|
|
+ <span class="title-text">重复项目</span>
|
|
|
+ <p style="font-size: 14px;color: red">当前项目疑似重复,以下为疑似重复项目</p>
|
|
|
+ </div>
|
|
|
+ <tableLayout :layout="tablecols" :data="repeats" :opwidth="200" height="calc(100vh - 550px)" :width="true" :custom="true">
|
|
|
+ <template v-slot:customcol="scope">
|
|
|
+ <div v-if="scope.column.columnname === 'tag'">
|
|
|
+ <div v-for="item in scope.column.data.tag_sys" :key="item.index" style="float: left;margin-left: 5px;margin-bottom: 5px">
|
|
|
+ <el-tag color="#3874F6" size="mini" type="primary" effect="dark">
|
|
|
+ <span>{{item}}</span>
|
|
|
+ </el-tag>
|
|
|
+ </div>
|
|
|
+ <div v-for="item in scope.column.data.tag" :key="item.index" style="float: left;margin-left: 5px;margin-bottom: 5px">
|
|
|
+ <el-tag color="#FA8C16" size="mini" type="warning" effect="dark">
|
|
|
+ <span>{{item}}</span>
|
|
|
+ </el-tag>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="scope.column.columnname === 'leader'">
|
|
|
+ <span>{{scope.column.data.leader?scope.column.data.leader.length !== 0 ? scope.column.data.leader[0].name:'--':'--'}}</span>
|
|
|
+ </div>
|
|
|
+ <p v-else>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
|
|
|
+ </template>
|
|
|
+ </tableLayout>
|
|
|
+ <div class="container normal-panel" style="text-align:right">
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="param.content.pageNumber"
|
|
|
+ :page-sizes="[20, 50, 100, 200]"
|
|
|
+ :page-size="20"
|
|
|
+ layout="total,sizes, prev, pager, next, jumper"
|
|
|
+ :total="total">
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -264,6 +303,24 @@ export default {
|
|
|
callback();
|
|
|
}
|
|
|
}
|
|
|
+ var projectname = (rule,value,callback) => {
|
|
|
+ if (value){
|
|
|
+ if (this.repeats.length > 0){
|
|
|
+ callback(new Error('疑似重复'))
|
|
|
+ }else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ callback(new Error('项目名称不能为空'))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var scaleChange = (rule,value,callback) => {
|
|
|
+ if (value < 0){
|
|
|
+ callback(new Error('项目规模不能小于0'))
|
|
|
+ }else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
return {
|
|
|
pickerOptions: {
|
|
|
disabledDate(time) {
|
|
@@ -337,7 +394,22 @@ export default {
|
|
|
{ required: false, validator: enddateTime, trigger: 'change' }
|
|
|
],
|
|
|
},
|
|
|
- siteid:''
|
|
|
+ siteid:'',
|
|
|
+ param:{
|
|
|
+ "id": 20230727134902,
|
|
|
+ "content": {
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 20,
|
|
|
+ "sa_projectid":'',
|
|
|
+ "where": {
|
|
|
+ "condition": ""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ repeats:[],
|
|
|
+ dialogTableVisible:false,
|
|
|
+ tablecols:[],
|
|
|
+ total:0
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
@@ -438,11 +510,8 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
onSubmit(){
|
|
|
- console.log(this.form)
|
|
|
if (this.form.signdate_due !== ''){
|
|
|
const data = new Date(this.form.signdate_due)
|
|
|
- console.log(data.getFullYear())
|
|
|
- console.log(data.getMonth()+1)
|
|
|
if (data.getMonth() +1 < 10){
|
|
|
this.form.signdate_due = data.getFullYear() + '-0' + (data.getMonth() + 1)
|
|
|
}else {
|
|
@@ -453,8 +522,6 @@ export default {
|
|
|
}
|
|
|
if (this.form.begdate_due !== ''){
|
|
|
const data = new Date(this.form.begdate_due)
|
|
|
- console.log(data.getFullYear())
|
|
|
- console.log(data.getMonth()+1)
|
|
|
if (data.getMonth() +1 < 10){
|
|
|
this.form.begdate_due = data.getFullYear() + '-0' + (data.getMonth() + 1)
|
|
|
}else {
|
|
@@ -465,8 +532,6 @@ export default {
|
|
|
}
|
|
|
if (this.form.enddate_due !== ''){
|
|
|
const data = new Date(this.form.enddate_due)
|
|
|
- console.log(data.getFullYear())
|
|
|
- console.log(data.getMonth()+1)
|
|
|
if (data.getMonth() +1 < 10){
|
|
|
this.form.enddate_due = data.getFullYear() + '-0' + (data.getMonth() + 1)
|
|
|
}else {
|
|
@@ -488,6 +553,7 @@ export default {
|
|
|
this.$emit('onChangeProject')
|
|
|
this.$refs['form'].resetFields();
|
|
|
this.value = ''
|
|
|
+ this.repeats = []
|
|
|
this.form={
|
|
|
sat_orderclueid: '',
|
|
|
projectname:"",
|
|
@@ -535,6 +601,7 @@ export default {
|
|
|
this.$emit('onChangeProject')
|
|
|
this.$refs['form'].resetFields();
|
|
|
this.value = ''
|
|
|
+ this.repeats = []
|
|
|
this.form={
|
|
|
sat_orderclueid: '',
|
|
|
projectname:"",
|
|
@@ -566,6 +633,7 @@ export default {
|
|
|
this.dialogFormVisible = false
|
|
|
this.$refs['form'].resetFields()
|
|
|
this.value = ''
|
|
|
+ this.repeats = []
|
|
|
this.form={
|
|
|
sat_orderclueid: '',
|
|
|
projectname:"",
|
|
@@ -622,6 +690,37 @@ export default {
|
|
|
this.unitnameList = res.data
|
|
|
})
|
|
|
},
|
|
|
+ /*查询项目名称是否重复*/
|
|
|
+ async nameChange(){
|
|
|
+ console.log('查重')
|
|
|
+ if (this.form.projectname !== ''){
|
|
|
+ this.param.content.sa_projectid = 0
|
|
|
+ this.param.content.where.condition = this.form.projectname
|
|
|
+ const res = await this.$api.requested(this.param)
|
|
|
+ this.repeats = res.data
|
|
|
+ this.total = res.total
|
|
|
+ this.$refs.form.validateField('projectname')
|
|
|
+ if (this.repeats.length > 0){
|
|
|
+ this.siteid == 'HY'?this.dialogTableVisible = false:this.dialogTableVisible = true
|
|
|
+ }else {
|
|
|
+ this.dialogTableVisible = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ handleSizeChange(val) {
|
|
|
+ // console.log(`每页 ${val} 条`);
|
|
|
+ this.param.content.pageSize = val
|
|
|
+ this.nameChange()
|
|
|
+ },
|
|
|
+ handleCurrentChange(val) {
|
|
|
+ // console.log(`当前页: ${val}`);
|
|
|
+ this.param.content.pageNumber = val
|
|
|
+ this.nameChange()
|
|
|
+ },
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.tablecols = this.tool.tabelCol(this.$route.name).duplicatesProjectTable.tablecols
|
|
|
}
|
|
|
}
|
|
|
</script>
|