Browse Source

采购价页面渲染

pull/17/head
pengda 2 weeks ago
parent
commit
23ff1569c3
  1. 27
      src/components/PhoneCode.vue
  2. 4
      src/utils/request.js
  3. 67
      src/views/Franchise.vue
  4. 128
      src/views/SiteList.vue
  5. 19
      src/views/super/Ranking/Purchase.vue
  6. 4
      vue.config.js

27
src/components/PhoneCode.vue

@ -10,7 +10,7 @@
</template>
<script>
// import axios from 'axios';
import axios from 'axios';
import GuipButton from '@/components/GuipButton.vue';
import GuipInput from '@/components/GuipInput.vue';
@ -38,20 +38,19 @@ import GuipInput from '@/components/GuipInput.vue';
return;
}
this.phoneValue = this.$refs.phoneNumber.inputValue;
this.startCountdown();
//
// try {
// const response = await axios.post('API', { phoneNumber: this.$refs.phoneNumber.value }); // API
// if (response.data.success) { //
// alert('');
// this.startCountdown();
// } else {
// throw new Error(response.data.message || ''); // 使
// }
// } catch (error) {
// console.error(':', error); //
// alert(''); //
// }
try {
const response = await axios.post('/agentnew/ajax_send_verify_code', { phoneNumber: this.$refs.phoneNumber.value }); // API
if (response.data.status) { //
this.$message.success('验证码已发送');
this.startCountdown();
} else {
throw new Error(response.data.info || '发送失败'); // 使
}
} catch (error) {
console.error('发送验证码失败:', error); //
this.$message.warning('发送验证码失败,请稍后再试');
}
},
startCountdown() {
this.isCounting = true;

4
src/utils/request.js

@ -4,7 +4,7 @@ import axios from "axios";
// 创建 axios 实例
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // 从环境变量中读取 API 基础地址
timeout: 10000, // 请求超时时间
timeout: 60000, // 请求超时时间
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
@ -33,7 +33,7 @@ service.interceptors.response.use(
const res = response.data;
if (!res.status) {
// 如果返回的 status 不是 true,则视为错误
return Promise.reject(new Error(res.info || "请求失败"));
// return Promise.reject(new Error(res.info || "请求失败"));
}
return res;
},

67
src/views/Franchise.vue

@ -35,35 +35,35 @@
<img src="../assets/franchise1/storeNum.svg" alt="">
<span>订单号</span>
</div>
<GuipInput slot="formDom" ref="GuipInput" placeholder="拍1件金额3000元订单" desc="2000元加盟费+1000元充值账户余额"/>
<GuipInput slot="formDom" ref="GuipInput" v-model="form.tid" prop="tid" placeholder="拍1件金额3000元订单" desc="2000元加盟费+1000元充值账户余额"/>
</GuipFormItem>
<GuipFormItem column="column" addClass="w388">
<div slot="formLeft" class="form-top-icon">
<img src="../assets/franchise1/nicheng.svg" alt="">
<span>平台昵称</span>
</div>
<GuipInput slot="formDom" ref="GuipInput" v-model="form.username" prop="username" placeholder="为自己取个平台昵称" desc="仅用于后台内使用、区分子账号"/>
<GuipInput slot="formDom" ref="GuipInput" v-model="form.nick" prop="nick" placeholder="为自己取个平台昵称" desc="仅用于后台内使用、区分子账号"/>
</GuipFormItem>
<GuipFormItem column="column" addClass="w388">
<div slot="formLeft" class="form-top-icon">
<img src="../assets/franchise1/nicheng.svg" alt="">
<span>平台昵称</span>
<span>联系人姓名</span>
</div>
<GuipInput slot="formDom" ref="GuipInput" placeholder="您的真实姓名"/>
<GuipInput slot="formDom" ref="GuipInput" v-model="form.name" prop="name" placeholder="您的真实姓名"/>
</GuipFormItem>
<GuipFormItem column="column" addClass="w388">
<div slot="formLeft" class="form-top-icon">
<img src="../assets/franchise1/storeNum.svg" alt="">
<span>手机号码</span>
</div>
<PhoneCode slot="formDom"></PhoneCode>
<PhoneCode slot="formDom" ref="PhoneCode" v-model="form.phone" prop="phone"></PhoneCode>
</GuipFormItem>
<GuipFormItem column="column" addClass="w388">
<div slot="formLeft" class="form-top-icon">
<img src="../assets/franchise1/codeNumber.svg" alt="">
<span>验证码</span>
</div>
<GuipInput slot="formDom" ref="GuipInput" placeholder="填写验证码"/>
<GuipInput slot="formDom" ref="GuipInput" v-model="form.sms_code" prop="sms_code" placeholder="填写验证码"/>
</GuipFormItem>
</div>
</el-form>
@ -107,24 +107,28 @@ export default {
height: '46px'
},
form: {
username: '',
language: '',
tid: '',
name: '',
phone: '',
sms_code: '',
nick: '',
recommended_aid: '',
},
rules: {
username: [
{ required: true, message: '请输入平台昵称', trigger: 'blur' }
tid: [
{ required: true, message: '请输入订单号', trigger: 'blur' }
],
card: [
{ required: true, message: '请选择有效信息', trigger: 'blur' }
nick: [
{ required: true, message: '请输入平台昵称', trigger: 'blur' }
],
language: [
{ required: true, message: '请选择语言', trigger: 'blur' },
name: [
{ required: true, message: '请输入真实姓名', trigger: 'blur' }
],
phone: [
{ required: true, message: '请输入手机号', trigger: 'blur' }
],
age: [
{ required: true, message: '请输入年龄', trigger: 'blur' }
sms_code: [
{ required: true, message: '请输入验证码', trigger: 'blur' }
]
},
};
@ -136,9 +140,38 @@ export default {
PhoneCode,
Footer
},
mounted(){
if(this.$route.aid){
this.form.recommended_aid = this.$route.aid;
}
},
methods: {
goAddFranchise(){
//
console.log(this.form)
const that = this
that.$refs.formRef.validate((valid) => {
if (valid) {
this.$http('POST', '/agentnew/ajax_submit_register_info', {
tid: that.form.tid,
name: that.form.name,
phone: that.form.phone,
sms_code: that.form.sms_code,
nick: that.form.nick,
recommended_aid: that.form.recommended_aid,
}).then(response => {
if (!response.status) {
that.$message.warning(response.info);
}else{
that.$message.success(response.info);
}
}).catch(error => {
console.error(error, 'error')
})
} else {
console.log('表单校验失败');
return false;
}
});
}
}
}

128
src/views/SiteList.vue

@ -40,18 +40,17 @@
</div>
</div>
<el-form>
<el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
style="width: 100%" :key="random()">
<el-table :data="tableData" style="width: 100%" >
<!-- 其他列 -->
<el-table-column prop="name" label="站点简称" width="210">
<el-table-column prop="short_name" label="站点简称" width="210">
<template slot-scope="scope">
<a class="name_link flex cell_render" :href="scope.row.link" target="_blank">
{{ scope.row.name }}
<a class="name_link flex cell_render" :href="scope.row.domain" target="_blank">
{{ scope.row.short_name }}
<img class="edit_icon" src="@/assets/site/form_link.svg" alt="">
</a>
</template>
</el-table-column>
<el-table-column prop="registerDate" label="注册时间"></el-table-column>
<el-table-column prop="regtime" label="注册时间"></el-table-column>
<!-- 价格列 -->
<el-table-column label="站点分组" prop="group">
@ -94,7 +93,7 @@
</el-popover>
</template> -->
</el-table-column>
<el-table-column prop="phoneService" label="手机服务" :filters="phoneService"
<el-table-column prop="phone_services" label="手机服务" :filters="phoneService"
:filter-method="filterHandler">
</el-table-column>
<!-- <el-table-column prop="department" label="部门">
@ -108,37 +107,37 @@
</template>
</template>
</el-table-column> -->
<el-table-column prop="status" label="状态" width="195">
<template v-slot="{ row, $index }">
<el-popover v-model="row.status_popover" placement="top" trigger="manual"
:ref="`popover-${$index}`" @show="popshow">
<!-- 弹框内容 -->
<div class="statusList">
<p class="flex">
<img style="margin-right: 8px;" src="@/assets/site/info_filled.svg"
alt="">自有域名验证未通过
</p>
<p class="flex" style="margin: 12px 0;">
<img style="margin-right: 8px;" src="@/assets/site/info_filled.svg"
alt="">收款方式未配置
</p>
<p class="flex">
<img style="margin-right: 8px;" src="@/assets/site/info_filled.svg"
alt="">支付宝收款账号未配置
</p>
</div>
<!-- 触发弹框的按钮 -->
<span slot="reference" @click="handlePriceClick(row, $index, 'status')">
<div class="flex cell_render">
<span :class="(row.status == '0' ? 'in_services' : 'in_config')">{{
row.status == '0' ? '运行中' : '配置中' }}</span>
<img class="edit_icon" v-if="row.status == '1'"
src="@/assets/site/more_setIcon.png" alt="">
</div>
</span>
<el-table-column prop="config_progress_status" label="状态" width="195">
<!-- <template v-slot="{ row, $index }">-->
<!-- <el-popover v-model="row.status_popover" placement="top" trigger="manual"-->
<!-- :ref="`popover-${$index}`" @show="popshow">-->
<!-- &lt;!&ndash; 弹框内容 &ndash;&gt;-->
<!-- <div class="statusList">-->
<!-- <p class="flex">-->
<!-- <img style="margin-right: 8px;" src="@/assets/site/info_filled.svg"-->
<!-- alt="">自有域名验证未通过-->
<!-- </p>-->
<!-- <p class="flex" style="margin: 12px 0;">-->
<!-- <img style="margin-right: 8px;" src="@/assets/site/info_filled.svg"-->
<!-- alt="">收款方式未配置-->
<!-- </p>-->
<!-- <p class="flex">-->
<!-- <img style="margin-right: 8px;" src="@/assets/site/info_filled.svg"-->
<!-- alt="">支付宝收款账号未配置-->
<!-- </p>-->
<!-- </div>-->
<!-- &lt;!&ndash; 触发弹框的按钮 &ndash;&gt;-->
<!-- <span slot="reference" @click="handlePriceClick(row, $index, 'status')">-->
<!-- <div class="flex cell_render">-->
<!-- <span :class="(row.status == '0' ? 'in_services' : 'in_config')">{{-->
<!-- row.status == '0' ? '运行中' : '配置中' }}</span>-->
<!-- <img class="edit_icon" v-if="row.status == '1'"-->
<!-- src="@/assets/site/more_setIcon.png" alt="">-->
<!-- </div>-->
<!-- </span>-->
</el-popover>
</template>
<!-- </el-popover>-->
<!-- </template>-->
</el-table-column>
<el-table-column fixed="right" label="操作" width="182">
<template slot-scope="scope">
@ -149,10 +148,10 @@
</template>
</el-table-column>
</el-table>
<el-pagination background @size-change='handleSizeChange' @current-change='handleCurrentChange'
:current-page="currentPage" :page-size=pageSize layout="prev, pager, next,jumper"
:total="tableData.length">
</el-pagination>
<!-- <el-pagination background @size-change='handleSizeChange' @current-change='handleCurrentChange'-->
<!-- :current-page="currentPage" :page-size=pageSize layout="prev, pager, next,jumper"-->
<!-- :total="tableData.length">-->
<!-- </el-pagination>-->
</el-form>
</div>
<GuipDialog type="normal" width="396px" :dialogVisible="addGroupVisiable" title="温馨提示" :show-close-button="false"
@ -192,6 +191,7 @@ export default {
searchText: '',
filteredOptions: this.options,
editingIndex: -1,
gid: 0,//id
groupName: '',//
addGroupVisiable: false,
selectedValue: '',
@ -227,22 +227,22 @@ export default {
height: '30px'
},
tableData: [
{
name: '哈哈哈',
link: 'http://www.chachongz.com',
registerDate: '2025.02.18',
group: '1',
phoneService: '撒大事',
status: '1',//
},
{
name: '知网学诚教育',
link: 'http://new.checkcopy.com',
registerDate: '2025.02.18',
group: '2',
phoneService: '设计部',
status: '0',//
},
// {
// name: '',
// link: 'http://www.chachongz.com',
// registerDate: '2025.02.18',
// group: '1',
// phoneService: '',
// status: '1',//
// },
// {
// name: '',
// link: 'http://new.checkcopy.com',
// registerDate: '2025.02.18',
// group: '2',
// phoneService: '',
// status: '0',//
// },
],
groupList: {
1: '内部测试',
@ -291,8 +291,22 @@ export default {
})
console.log(this.tableData, '000--');
this.getData()
},
methods: {
getData() {
const that = this
that.tableData = []
this.$http('POST', '/agentnew/ajax_get_site_list', {
gid: that.gid,
}).then(response => {
this.$nextTick(() => {
that.tableData = Object.values(response.data.sitelist);
})
}).catch(error => {
console.error(error, 'error')
})
},
//
handleSearch(keyword) {
console.log(keyword,'keyword---');

19
src/views/super/Ranking/Purchase.vue

@ -197,22 +197,17 @@ export default {
this.currentPage = 1
this.getData()
},
// 'form.date'(newVal) {
// if (Array.isArray(newVal) && newVal.length === 2) {
// this.form.start_date = this.formatDateTime(new Date(newVal[0]));
// this.form.end_date = this.formatDateTime(new Date(newVal[1]));
// } else {
// this.form.start_date = '';
// this.form.end_date = '';
// }
// }
},
methods: {
testClick(e) {
this.$nextTick(() => {
// this.$set(this.form, "date", [e[0], e[1]]);
this.$set(this.form, "start_date", e[0]);
this.$set(this.form, "end_date", e[1]);
if (Array.isArray(e) && e.length === 2) {
this.$set(this.form, "start_date", e[0]);
this.$set(this.form, "end_date", e[1]);
} else {
this.$set(this.form, "start_date", '');
this.$set(this.form, "end_date", '');
}
});
},
getData(){

4
vue.config.js

@ -6,6 +6,10 @@ module.exports = {
'/supernew': {
target: 'http://adminnew.pengda.checkcopy.com/',
changeOrigin: true,
},
'/agentnew': {
target: 'http://adminnew.pengda.checkcopy.com/',
changeOrigin: true,
}
}
},

Loading…
Cancel
Save